class Resoconti::ProdottiMagazzinoController < DefaultController
  require_role self.parent_name.underscore
  record_select :search_on => [:name, :descrizione], :order_by => :name, :full_text_search => true 
  
  active_scaffold :prodotto_magazzino do |config|
    config.label = Application.controller_label(self)
    list.sorting = [:name => 'ASC']
    config.actions.add :field_search, :config_list, :export

    # definizione colonne
    columns = [:name, :descrizione, :tipo_prodotto, :fornitore, :prezzo, :obsoleto, :giacenza]
    columns_list = [:name, :descrizione, :tipo_prodotto, :fornitore, :prezzo, :giacenza]
    columns_form = [:name, :descrizione, :tipo_prodotto, :fornitore, :prezzo, :obsoleto]

    # visualizzazione colonne
    config.columns = config.show.columns = config.list.columns = columns
    config.field_search.columns = columns
    config.config_list.default_columns = columns_list
    config.update.columns = config.create.columns = columns_form

    # configurazione colonne
    config.columns[:name].label = "Nome"
    config.columns[:tipo_prodotto].options = {:options => ProdottoMagazzino::TIPO_PRODOTTO.map(&:to_sym), :include_blank => as_(:_select_)}
    config.columns[:tipo_prodotto].form_ui = :select
    config.columns[:obsoleto].form_ui = :checkbox
    config.columns[:prezzo].description = "IVA esclusa"
    config.columns[:prezzo].options[:format] = :currency
    [:fornitore].each { |i|
      config.columns[i].form_ui = :record_select
      config.columns[i].options[:size] = 50
      config.columns[i].options[:params] = {:filter => 'fornitori'}
    }
    [:name, :descrizione, :tipo_prodotto, :prezzo].each {
      |i| config.columns[i].inplace_edit = :ajax
    }
    config.columns[:descrizione].options = SMALL_TEXTAREA
    
    # azioni
    config.columns[:giacenza].set_link('nested', :parameters => {:associations => :dettagli_movimento_magazzino})
    config.columns[:fornitore].set_link('show', :controller => 'anagrafiche/partners')
    config.action_links.add "Note", :action => 'nested', :parameters => {:associations => :note}, :type => :member
    config.action_links.add "Allegati", :action => 'nested', :parameters => {:associations => :allegati}, :type => :member
    
    #ricerca
    config.columns[:fornitore].search_sql = 'partners.ragione_sociale'
  end
end
